package com.lainiao.cookie;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *  Cookie 到期时间
 *  通过 setMaxAge(int time); 方法，手动设定cookie的有效时间，单位（秒）
 *  到期时间取值：
 *      1. 负整数： 只在浏览器内存中存活，关闭浏览器，cookie消失   （默认值）
 *      2. 正整数： 将cookie存在硬盘上，cookie存活的时间
 *      3. 零   ： 删除cookie；若浏览器保存了该cookie，无论cookie在内存还是硬盘，都会被删除
 *  cookie必须对应的电脑和浏览器才能有效，换了浏览器无法读取之前的cookie
 */
@WebServlet("/ct")
public class cookie03_CookieTime extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // 创建cookie时的 name参数 不可以重名

        // 负整数
        Cookie cookie1 = new Cookie("name1","梁非凡");
        cookie1.setMaxAge(-1);   // 关闭浏览器失效
        response.addCookie(cookie1);

        // 正整数
        Cookie cookie2 = new Cookie("name2","刘醒");
        cookie2.setMaxAge(30);   // 关闭浏览器失效
        response.addCookie(cookie2);

        // 零
        Cookie cookie3 = new Cookie("name3","？？？");
        cookie3.setMaxAge(0);   // 关闭浏览器失效
        response.addCookie(cookie3);

    }
}
